package iso3.pt.model;

import java.util.HashSet;
import java.util.Set;

public class Alumno
{
	private Integer dni;
	private String password;
	private String nombre;
	private String telefono;
	private Set<Asignatura> asignaturas; // Ander: yo puse una List
	private Set<Evaluacion> evaluaciones; // Ander: yo puse una List
	
	private Aula aula;

	public Alumno()
	{
	}

	public Alumno(Integer dni, String password, String nombre, String telefono)
	{
		this.dni = dni;
		this.password = password;
		this.nombre = nombre;
		this.telefono = telefono;
		this.asignaturas = new HashSet<Asignatura>();
		this.evaluaciones = new HashSet<Evaluacion>();
	}

	public Set<Asignatura> getAsignaturas()
	{
		return asignaturas;
	}

	public void setAsignaturas(Set<Asignatura> asignaturas)
	{
		this.asignaturas = asignaturas;
	}

	public void addAsignatura(Asignatura asignatura)
	{
		this.asignaturas.add(asignatura);
	}

	public void removeAsignatura(Asignatura asignatura)
	{
		this.asignaturas.remove(asignatura);
	}

	public Set<Evaluacion> getEvaluaciones()
	{
		return evaluaciones;
	}

	public void setEvaluaciones(Set<Evaluacion> evaluaciones)
	{
		this.evaluaciones = evaluaciones;
	}

	public void addEvaluacion(Evaluacion evaluacion)
	{
		this.evaluaciones.add(evaluacion);
	}

	public void removeEvaluacion(Evaluacion evaluacion)
	{
		this.evaluaciones.remove(evaluacion);
	}

	public Integer getDni()
	{
		return dni;
	}

	public void setDni(Integer dni)
	{
		this.dni = dni;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public String getNombre()
	{
		return nombre;
	}

	public void setNombre(String nombre)
	{
		this.nombre = nombre;
	}

	public String getTelefono()
	{
		return telefono;
	}

	public void setTelefono(String telefono)
	{
		this.telefono = telefono;
	}
	
	public Aula getAula()
	{
		return aula;
	}

	public void setAula(Aula aula)
	{
		this.aula = aula;
	}

	public String toString()
	{
		return "(" + this.dni + "|" + this.password + "|"
				+ this.nombre + "|" + this.telefono + ")";
	}
	
	@Override
	public boolean equals(Object obj)
	{
		try
		{
			Alumno alumno = (Alumno) obj;
			
			if (alumno.dni == this.dni)
				return true;
			else
				return false;
		}
		catch (ClassCastException e)
		{
			return false;
		}
	}
}
